#ifndef _META_TASK_TEST_H_#define _META_TASK_TEST_H_#include "Meta.Task.h"#include "Meta.Functor.h"namespace TaskTest{	int function(int x)	{		return 2 * x;	}	int function2(int x, double y)	{		return 4.3 * x;	}}TEST (MetaTaskTest, firstTest){	using namespace Maha::Meta;	using namespace TaskTest;		Functor<int, TYPELIST_1(int)> fctor1(&function);	int result;	Task<int, Functor<int, TYPELIST_1(int)>, TYPELIST_1(double)> task1(result, fctor1, 100);	task1.exec();		ASSERT_EQ(result, function(100));}TEST (MetaTaskTest, secondTest){	using namespace Maha::Meta;	using namespace TaskTest;		Functor<int, TYPELIST_2(int, double)> fctor2(&function2);	int result2;	Task<int, Functor<int, TYPELIST_2(int, double)>, TYPELIST_2(int, int)> task2(result2, fctor2, 100, 24);	task2.exec();		ASSERT_EQ(result2, function2(100, 24));}#endif